package com.ruoyi.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 员工签到记录对象 staff
 *
 * @author ruoyi
 * @date 2025-11-02
 */
public class Staff extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 序号（自增） */
    @Excel(name = "序号", readConverterExp = "自=增")
    private Long sId;

    /** 用户名 */
    @Excel(name = "用户名")
    private String name;

    /** 上班时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上班时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date start;

    /** 下班时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "下班时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date end;

    /** 状态（0-正常，1-迟到，2-早退 3-旷工） */
    @Excel(name = "状态", readConverterExp = "0=-正常，1-迟到，2-早退,3=-旷工")
    private Long sStatus;
    /** 通勤天数 */
    @Excel(name = "通勤天数")
    private Integer commuteDays;

    /** 早退天数 */
    @Excel(name = "早退天数")
    private Integer earlyLeaveDays;

    /** 迟到天数 */
    @Excel(name = "迟到天数")
    private Integer lateDays;

    /** 旷工程数 */
    @Excel(name = "旷工程数")
    private Integer absentDays;

    public void setsId(Long sId)
    {
        this.sId = sId;
    }

    public Long getsId()
    {
        return sId;
    }

    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }

    public void setStart(Date start)
    {
        this.start = start;
    }

    public Date getStart()
    {
        return start;
    }

    public void setEnd(Date end)
    {
        this.end = end;
    }

    public Date getEnd()
    {
        return end;
    }

    public void setsStatus(Long sStatus)
    {
        this.sStatus = sStatus;
    }

    public Long getsStatus()
    {
        return sStatus;
    }

    public Integer getCommuteDays() {
        return commuteDays;
    }

    public void setCommuteDays(Integer commuteDays) {
        this.commuteDays = commuteDays;
    }

    public Integer getEarlyLeaveDays() {
        return earlyLeaveDays;
    }

    public void setEarlyLeaveDays(Integer earlyLeaveDays) {
        this.earlyLeaveDays = earlyLeaveDays;
    }

    public Integer getLateDays() {
        return lateDays;
    }

    public void setLateDays(Integer lateDays) {
        this.lateDays = lateDays;
    }

    public Integer getAbsentDays() {
        return absentDays;
    }

    public void setAbsentDays(Integer absentDays) {
        this.absentDays = absentDays;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("sId", getsId())
                .append("name", getName())
                .append("start", getStart())
                .append("end", getEnd())
                .append("sStatus", getsStatus())
                .append("commuteDays", getCommuteDays())
                .append("earlyLeaveDays", getEarlyLeaveDays())
                .append("lateDays", getLateDays())
                .append("absentDays", getAbsentDays())
                .toString();
    }
}
